The present invention claims priority from Japanese Patent Application No. 10-40638 filed Feb. 23, 1998, No. 10-101438 filed Apr. 13, 1998, and No. 10-146103 filed May 27, 1998, the contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a technique for standardizing computer programs used for control. It relates in particular to a technique for standardizing and thereby readily implementing the design, modification and major alteration of such computer programs.
The present invention further relates to a control program of a control system created by combining a plurality of control modules, each of which separately controls at least one of a plurality of controlled elements contained in a single controlled system, and control modules for hierarchically controlling these control modules.
2. Description of Related Art
When a plurality of controlled elements are provided in a single system, it is a widely practiced technique to provide a plurality of control modules for controlling these controlled elements, and to connect these control modules hierarchically so that each of a plurality of first-level control modules controls at least one controlled element, second-level control modules control first-level control modules, and so on, whereby the system as a whole is controlled.
FIG. 2 is a control system diagram schematically representing a single system, and is applicable to both the prior art and embodiments of the present invention. The system depicted in FIG. 2 comprises a plurality n of controlled elements E(1)-E(n) and has the following hierarchical structure. Namely, control module M(1) controls controlled elements E(1)-E(3). Control module M(2) controls controlled elements E(4), E(5), . . . . Control module M(k) controls controlled elements E(i)-E(n). Control module M(k+1) controls control modules M(1) and M(2), and control module M(k+2) controls a plurality of control modules up to control module M(k). Control module M(k+3) controls these two control modules M(k+1) and M(k+2).
A communications memory COMA is provided and each control module M(1)-M(k+3) is configured so that it can access this communications memory COMA by means of a corresponding communications line C(1)-C(k+3). Each control module M(1)-M(k+3) is configured so that at prescribed intervals it accesses communications memory COMA and reads communications addressed to itself that have been written in an allocated region of the communications memory, and if necessary writes communications addressed to another module in a region of the communications memory which has been allocated to that other module.
This will be explained by way of an illustration in order to make it easier to understand. On the assumption that this system is a semiconductor fabrication system, then controlled element E(1) might be the vacuum pump of a first vacuum chamber, controlled element E(2) the elevator inside this first vacuum chamber, and controlled element E(3) the pressure valve of the first vacuum chamber. Controlled element E(4) might be the vacuum pump for a chamber connecting with a second vacuum chamber, and controlled element E(5) might be the transfer belt of this connecting chamber. Controlled element E(i) might be a product exit door, controlled element E(nxe2x88x921) a product exit elevator, and controlled element E(n) a product exit transfer apparatus.
These controlled elements E(1)-E(n) are under the overall control of control module M(k+3) and are hierarchically controlled by control modules M(1)-M(k+2), whereby a continuous series of semiconductor fabrication steps is carried out. Namely, silicon wafers are transferred into the first vacuum chamber and set in a prescribed position, the degree of vacuum is increased by operation of the vacuum pump, and deposition is carried out. Finally, the product (or semi-finished product) is transferred to the product exit.
Each controlled element has a sensor, and information output from this sensor is sent to the control module which controls the controlled element. Each control module performs servo-control in accordance with the information output from this sensor. Information relating to other control modules is transmitted to and from the other control modules via communications memory COMA.
The present inventor has been working for a long time on the design of control programs for control systems of the sort illustrated in FIG. 2, where a plurality of control modules control a plurality of controlled elements. Controlled elements E(1)-E(n) may be valves, the switches of motors, or rotating shafts of robot devices. Control modules with different specifications have therefore hitherto been utilized to suit different types of controlled element.
Namely, when designing a control program for a control system of this sort it has been necessary to design control modules which were appropriate to the properties and characteristics of the respective controlled elements E(1)-E(n). This has meant that the design of a control program for a control system has taken a large number of man-hours. It has also meant that each time a specification change or modification becomes necessary, it takes a large number of man-hours to change the control program of the control modules. That is to say, if a design change is required for one of the hierarchically combined control modules, this design change will impact on both higher-level control modules and lower-level control modules, so that a large number of control modules have had to have design changes.
Moreover, even if the controlled elements comprising a new controlled system include controlled elements that were used in the past, the designer has to grasp the overall operation of the new controlled system all over again and create a program with reference to the whole series of operations from initial step to final step. Consequently, if a past design is appropriated, the program for the higher-order and lower-order control modules of the new system has to be changed to fit the past design. Accordingly, even if parts of the program for the controlled elements that were used in the past can be transferred to and used in the program for the new controlled system, as a rule the scope for such transfer has been extremely limited.
It is accordingly an object of the present invention to provide a program control system and a method of creating a control program thereof, capable of utilizing, without modification, important portions of the program of a previously designed control module. It is a further object of the present invention to provide a control system and a method of creating a control program thereof, capable of considerably reducing the man-hours required to create a control program of a control system comprising a combination of control modules. It is another object of the present invention to provide a control system and a method of creating a control program thereof, capable of rationalizing the process of creating a control program. It is yet another object of the present invention to provide a control system and a method of creating a control program thereof, capable of incorporating the program of previously designed control modules with only slight changes, despite the devices to be controlled and the controlled elements being different. It is a further object of the present invention to provide a control system and a method of creating a control program thereof whereby a small number of man-hours is sufficient to adjust to changes or modifications which have occurred in controlled elements or control conditions. It is yet another object of the present invention to provide a control system and a method of creating a control program thereof whereby a general user without specialist knowledge can deal with changes or modifications which have occurred in controlled elements or control conditions.
A first feature of the present invention is that, in a control system for controlling a single system, the control module modes and mode transitions are standardized for all the control modules. Even if a mode of the basic module is not used in a certain control module, that mode is still provided in accordance with the basic module. It is also ensured that the modes and mode transitions are restricted to those provided in the basic module. If there is a need to extend the modes and mode transitions available, another basic module is designed. All the control module modes and mode transitions are standardized in at least one closed system. All sorts of control modes can be designed by setting parameters for these modes and mode transitions in accordance with the conditions imposed by the control conditions and controlled elements.
Namely, in a first aspect, the present invention is a control system for controlling a single controlled system comprising a plurality of controlled elements, said control system comprising a plurality of control modules and communication means for communicating between these plurality of control modules; wherein the plurality of control modules are connected in an hierarchical structure so that the lowest level control modules each control at least one of the aforesaid plurality of controlled elements, and the control modules of one level are controlled by the control modules of the immediately higher level; and the modes and mode transitions of each of the aforesaid plurality of control modules are mutually standardized. The distinguishing feature of the invention in this aspect is that the modes and mode transitions of the plurality of control modules are standardized.
Each of the aforesaid plurality of control modules preferably has specific sequence data tables in which are recorded, on the basis of instructions from an hierarchically higher-level control module, the procedures for controlling the aforesaid plurality of controlled elements, and an interpretive control means which controls the aforesaid controlled elements by referring to these sequence data tables. The sequence data tables can preferably be modified by access from a terminal device when an aforesaid control module is not operating.
The sequence data tables are recorded using an intermediate language which an expert can understand, and the control system preferably has translation means for automatically translating, into the format of the sequence data tables, an ordinary language based expression which is input to the aforesaid terminal device and which even a user without specialist knowledge can understand.
This enables the user of a control system according to the present invention to rewrite, by himself, the actions of its controlled elements. That is to say, a general user without specialist knowledge can deal with situations in which the controlled elements or control conditions have changed or been modified.
The aforesaid ordinary language based expression can be a flowchart, a timing chart, or a sequence table.
The translation means preferably includes indication means which, if the aforesaid ordinary language based expression that has been input to the terminal device is inadequate and cannot be translated, prompts for re-input to the terminal device.
User data in a form suitable for a control system according to this invention can thus be obtained by interaction with the user. This interaction enables the user to provide the control system with optimum user data, since even a user without specialist knowledge can discover, by interaction with the control system, whether he has input too much or too little data.
The aforementioned modes and mode transitions of the control modules comprise: a start mode for controlling the starting of the corresponding controlled elements; a normal operation mode to which direct transition can be made from the start mode, and which controls the normal operation of said controlled elements; a stop mode to and from which mutual direct transitions can be made from and to the normal operation mode, said stop mode controlling the stopping of said controlled elements; a hold mode to and from which mutual direct transitions can be made from and to the stop mode, and from which direct transition can be made to the aforementioned start mode, said hold mode controlling the aforementioned controlled elements in a hold state; a reverse mode to which direct transition can be made from the hold mode, and to and from which mutual direct transitions can be made from and to the aforementioned stop mode, said reverse mode controlling the reversing of the aforementioned controlled elements; a manual control mode to which direct transition can be made from the hold mode, and to and from which mutual direct transitions can be made from and to the stop mode, and from which transitions can be made to the normal operation mode or the start mode, said manual control mode being used for manual control of the aforementioned controlled elements; an alarm mode to which transition can be made from any of the aforesaid modes, and which generates an alarm; an exceptional operation mode to which transition can be made from any of the aforesaid modes, and which temporarily causes at least some of the aforesaid control modules to operate out-of-step from the other control modules; and an end mode to which direct transition can be made from the aforesaid hold mode, and which terminates the control of the controlled elements.
The aforesaid start mode comprises a cold start mode which creates a control file, and a hot start mode to which a transition is made from the cold start mode, and which writes the file data to RAM.
The aforesaid normal operation mode comprises an origin mode which confirms that the controlled elements are at their starting point, a restoration mode which restores a sequence of events of automatically operating controlled elements to the state just before the sequence was interrupted, a preparation mode which prepares for automatic operation of the controlled elements, and a running mode for automatically operating the controlled elements.
The aforesaid stop mode comprises an emergency stop mode for urgently stopping the operation of the controlled elements, a decelerating stop mode which gradually stops the operation of the controlled elements, and a stepped stopping mode which temporarily stops the operation of the controlled elements at each operating step in their event sequence.
The aforesaid hold mode comprises a CPU stop mode capable of stopping the CPU, a control release mode which releases the controlled elements from control, a control restore mode which returns the released controlled elements to control, and a diagnostic mode which can convert the operating state of the controlled elements to data and can change the control specification.
The aforesaid alarm mode comprises an abnormal stop mode which stops the operation of a controlled element when an abnormality has been detected in its operation, and an emergency stop mode which performs an emergency stop in accordance with external directions, irrespective of the operating state.
In a second aspect, the present invention is a method of programming the aforesaid control system, comprising steps of duplicating the basic module, for which modes and mode transitions have been established, a plural number of times; creating a plurality of control modules corresponding to the various control specifications by editing each of the duplicated basic modules while maintaining the mode and mode transitions of the basic module, and creating a control program for a single system by hierarchically combining these plurality of control modules.
The aforementioned modes and mode transitions of the aforesaid basic module comprise: a start mode for controlling the starting of the corresponding controlled elements; a normal operation mode to which direct transition can be made from the start mode, and which controls the normal operation of said controlled elements; a stop mode to and from which mutual direct transitions can be made from and to the normal operation mode, and which controls the stopping of said controlled elements; a hold mode to and from which mutual direct transitions can be made from and to the stop mode, and from which direct transition can be made to the aforementioned start mode, said hold mode controlling the aforementioned controlled elements in a hold state; a reverse mode to which direct transition can be made from the hold mode, and to and from which mutual direct transitions can be made from and to the aforementioned stop mode, said reverse mode controlling the reversing of the aforementioned controlled elements; a manual control mode to which direct transition can be made from the hold mode, and to and from which mutual direct transitions can be made from and to the stop mode, and from which transitions can be made to the normal operation mode or the start mode, said manual control mode being used for manual control of the aforementioned controlled elements; an alarm mode to which transition can be made from any of the aforesaid modes, and which generates an alarm; an exceptional operation mode to which transition can be made from any of the aforesaid modes, and which temporarily causes at least some of the aforesaid control modules to operate out-of-step from the other control modules; and an end mode to which direct transition can be made from the aforesaid hold mode, and which terminates the control of the controlled elements.
In a third aspect, the present invention is a machine readable recording medium. A distinguishing feature of this aspect of the invention is that a control program for control modules is created by setting numerical values in standardized programs, which are then recorded on the machine readable recording medium, wherein each control module comprises: a start mode for controlling the starting of the corresponding controlled elements; a normal operation mode to which direct transition can be made from the start mode, and which controls the normal operation of said controlled elements; a stop mode to and from which mutual direct transitions can be made from and to the normal operation mode, and which controls the stopping of said controlled elements; a hold mode to and from which mutual direct transitions can be made from and to the stop mode, and from which direct transition can be made to the aforementioned start mode, said hold mode controlling the aforementioned controlled elements in a hold state; a reverse mode to which direct transition can be made from the hold mode, and to and from which mutual direct transitions can be made from and to the aforementioned stop mode, said reverse mode controlling the reversing of the aforementioned controlled elements; a manual control mode to which direct transition can be made from the hold mode, and to and from which mutual direct transitions can be made from and to the stop mode, and from which transitions can be made to the normal operation mode or the start mode, said manual control mode being used for manual control of the aforementioned controlled elements; an alarm mode to which transition can be made from any of the aforesaid modes, and which generates an alarm; an exceptional operation mode to which transition can be made from any of the aforesaid modes, and which temporarily causes at least some of the aforesaid control modules to operate out-of-step from the other control modules; and an end mode to which direct transition can be made from the aforesaid hold mode, and which terminates the control of the controlled elements.
As has been explained above, according to the present invention, because the control modules are utilized after being standardized on the basis of a basic module, important portions of the program of previously designed control modules can be utilized without modification. The man-hours required to create a control program of a control system comprising a combination of control modules can therefore be considerably reduced. The present invention can rationalize the process of creating a control program. It can also incorporate the program of a previously designed control module with only slight changes, despite the devices to be controlled and the controlled elements being different. In addition, according to this invention a small number of man-hours is sufficient to adjust to changes or modifications which have occurred in the controlled elements or control conditions. Further, a general user without specialist knowledge can deal with changes or modifications which have occurred in controlled elements or control conditions.